package com.cu.employmentmanagementsystem.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cu.employmentmanagementsystem.entity.Admin;
import com.cu.employmentmanagementsystem.entity.Company;
import com.cu.employmentmanagementsystem.entity.StudentInformation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 25853
 * @TableName user
 */
@ApiModel(value = "用户传递类")
@TableName(value ="user")
@Data
public class UserDTO implements Serializable {

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "账号")
    @TableField(value = "account")
    private String account;

    @ApiModelProperty(value = "昵称")
    @TableField(value = "name")
    private String name;

    @ApiModelProperty(value = "手机号")
    @TableField(value = "phone")
    private String phone;

    @ApiModelProperty(value = "密码")
    @TableField(value = "password")
    private String password;

    @ApiModelProperty(value = "头像")
    @TableField(value = "avatar")
    private String avatar;

    @ApiModelProperty(value = "状态")
    @TableField(value = "status")
    private Integer status;

    @ApiModelProperty(value = "简介")
    @TableField(value = "introduce")
    private String introduce;

    @ApiModelProperty(value = "扩展字段")
    @TableField(value = "ext_json")
    private String extJson;

    @ApiModelProperty(value = "学生信息")
    @TableField(exist = false)
    private StudentInformation studentInformation;

    @ApiModelProperty(value = "公司信息")
    @TableField(exist = false)
    private Company company;

    @ApiModelProperty(value = "管理员信息")
    @TableField(exist = false)
    private Admin admin;

    @ApiModelProperty(value = "角色前端索引")
    @TableField(exist = false)
    private Long roleIndex;

    @ApiModelProperty(value = "角色名")
    @TableField(exist = false)
    private String role;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}